package com.star.service;

import com.star.dto.UserLoginCodeDTO;
import com.star.dto.UserPageQueryDTO;
import com.star.dto.UserRegisterDTO;
import com.star.dto.UserLoginDTO;
import com.star.entity.User;
import com.star.result.PageResult;

public interface UserService {
    /**
     * 管理员B端
     */

    PageResult pageQuery(UserPageQueryDTO userPageQueryDTO);

    /**
     * 修改用户状态
     * @param status
     * @param id
     */
    void updateStatus(Integer status, Long id);

    /**
     * 用户登录
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO);

    /**
     * 用户注册
     * @param userRegisterDTO
     */
    void add(UserRegisterDTO userRegisterDTO);

    /**
     * 修改用户信息
     * @param user
     */
    void update(User user);

    /**
     * 根据id查询用户信息
     * @param id
     * @return
     */
    User getById(Long id);

    /**
     * 验证码登录
     * @param userLoginCodeDTO
     * @return
     */
    User loginByCode(UserLoginCodeDTO userLoginCodeDTO);
}
